import{ defineStore} from "pinia"
import {addGoodsList,delCart,changeCount} from "../api/index.js"


export const useCart=defineStore("cartStore",{
    state:()=>{
        return{
            cartList:[], //购物车列表数据
            arr:[]
        }
    },
    // 发送ajax请求，获取购物车列表数据
    actions:{
        // 将详情页数据传递给购物车
        getCartList(){
            addGoodsList().then(res=>{
                console.log(res);
                this.changeCartListy(res.data)
            })
        },
        // 给每一个数据添加 checked 属性
        changeCartListy(list){
            this.arr =Object.keys(list[0])
            console.log(this.arr);
            this.cartList=list.map(item=>{
                item.checked = true;
                return item
            })
            // console.log(this.cartList);
        },
        // 删除购物车数据
         deleteCart(id){
            console.log(id);
             delCart(id).then(res=>{
                if(res.resultCode==200){
                    console.log(1);
                    this.getCartList()
                }
             })
        },
        // 切换全选和全不选
        allCheckout(flag){
            this.cartList.forEach(item=>{
                item.checked=flag
            })
        },
        // 步进器的实现
        changeGoodS(id,count){
            changeCount(id,count).then(res =>{
                if(res.resultCode==200){
                    // 再次调用购物车数据接口
                    this.getCartList()
                }
            })
        }
    },
    getters:{
        cartNum(){
            return this.cartList.reduce((pre,next)=>{
                return pre+ next.goodsCount
            },0)
        },
        allDone(){
            return this.cartList.every(item=>item.checked)
        }

    },

})